package top.zlhy7.module.dept.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.zlhy7.module.dept.entity.SysDept;
import top.zlhy7.module.dept.vo.SysDeptTreeVo;
import top.zlhy7.module.dept.vo.SysDeptVo;

import java.util.List;

/**
 * @author renyong
 * @date 2024/9/29 19:35
 * @description 部门 服务
 */
public interface ISysDeptService extends IService<SysDept> {
    /**
     * 根据父级部门id查询部门列表
     * @param parentId 父级部门id
     * @return
     * @author renyong on 2024/9/29 22:59
     */
    List<SysDept> findAllByParentId(Long parentId);
    /**
     * 新增
     * @param sysDeptVo 部门Vo
     * @return
     * @author renyong on 2024/9/29 21:43
     */
    void insert(SysDeptVo sysDeptVo);
    /**
     * 修改
     * @param sysDeptVo 部门Vo
     * @return
     * @author renyong on 2024/9/29 21:43
     */
    void update(SysDeptVo sysDeptVo);
    /**
     * 删除
     * @param id 主键
     * @return
     * @author renyong on 2024/9/29 21:59
     */
    void delete(Long id);
    /**
     * 全量返回所有部门-树形结构,数据量少时可以这么做，否则建议使用分步查询
     * @param
     * @return
     * @author renyong on 2024/9/29 23:36
     */
    List<SysDeptTreeVo> findTree();
}
